import { Random } from 'mockjs';

const groups = {
  normal: '日常工作',
  default: '默认流程',
};

const todoList = [];
for (let i = 0; i < 200; i += 1) {
  todoList.push({
    key: Random.guid(),
    group: Object.keys(groups)[Random.natural(0, 1)],
    status: String(Random.natural(0, 6)),
    title: Random.ctitle(),
    creator: Random.cname(),
    createdAt: Random.datetime(),
    unoperated: Random.cname(),
  });
}
// -------------
const groups2 = {
  normal: '日常工作',
  hr: '人事管理',
  assets: '资产管理',
};
const workflows = ['内部留言', '请假流程', '资产领用'];
const nodes = ['查看留言', '归档'];

const completedList = [];
for (let i = 0; i < 200; i += 1) {
  completedList.push({
    key: Random.guid(),
    group: Object.keys(groups2)[Random.natural(0, 2)],
    status: String(Random.natural(0, 5)),
    title: Random.ctitle(),
    creator: Random.cname(),

    workflow: workflows[Random.natural(0, 2)],
    receivedAt: Random.datetime(),
    node: nodes[Random.natural(0, 1)],
    unoperated: Random.cname(),
  });
}

// ----------------
const paths = [
  'license授权文件申请',
  '问题支持解决流程',
  '出差/外出流程',
  '费用报销',
  '预算变更申请',
  '印章使用申请流程',
  '商机提交流程',
  '开发申请流程',
  '加班申请流程',
  '费用报销汇总流程',
  '资质证书出借流程',
  '工作周计划流程',
  '商旅订票申请',
  '周报提醒流程',
  '考勤异常情况说明流程',
  '开发需求提交与任务跟进',
  '业务招待申请',
  '调休登记流程',
  '对公费用报销',
  '费用分摊申请',
  '用车申请流程',
  '超期任务提醒改期流程',
  '会议发起提醒',
  '差旅费用报销',
  '项目支持',
  '超期任务提醒流程',
  '差旅事前申请',
  '预算追加申请',
  '备案任务奖金核算流程',
  '参观接待流程',
  '手动维护知识分享',
  '满意度调查反馈',
];
const proxyTypes = [
  '日常工作',
  '产品及升级管理',
  '机构流程',
  '项目管理',
  '资产管理',
  '费用相关',
  '网上报销',
  '无效流程',
  '行政事务',
  '总结和计划',
  '文档审批流程',
  '渠道管理',
];

const proxyList = [];
for (let i = 0; i < 568; i += 1) {
  proxyList.push({
    key: Random.guid(),
    principal: Random.cname(),
    agent: Random.cname(),
    creator: Random.cname(),
    type: proxyTypes[Random.natural(0, 11)],
    path: paths[Random.natural(0, 31)],
    startAt: Random.datetime(),
    end: Random.datetime(),
    status: '代理中',
  });
}

export default {
  'GET /api/procedure/list': [
    {
      id: Random.guid(),
      title: '日常工作',
      data: ['会议申请', '内部留言', '系统调整申请', '服务器端口域名映射申请', '主动表扬流程'],
    },
    {
      id: Random.guid(),
      title: '项目管理',
      data: [
        'license授权文件申请',
        '第三方软、硬件需求申请',
        '项目实施交接立项流程',
        '合同收款发票开具及快递申请',
        '项目服务移交流程',
      ],
    },
    {
      id: Random.guid(),
      title: '学生管理',
      data: ['新生报到流程', '评优评先申请流程', '获奖记录审批', '转专业申请', '挂科重修流程'],
    },

    {
      id: Random.guid(),
      title: '费用相关',
      data: ['费用报销', '借款申请', '业务招待申请', '教职工活动费申请流程'],
    },
    {
      id: Random.guid(),
      title: '行政事务',
      data: ['公章使用申请', '合同原件借用流程', '名片印刷申请', '私车公用补贴申请'],
    },
    {
      id: Random.guid(),
      title: '合同管理',
      data: ['常规服务合同审批流程', '付款提醒流程', '增值服务合同审批流程', '外包协议审批流程'],
    },

    {
      id: Random.guid(),
      title: '资产管理',
      data: ['资产领用', '资产借用', '资质证书出借流程'],
    },
    {
      id: Random.guid(),
      title: '任务管理',
      data: ['收款及开发任务申请流程', '开发计划制定及任务追踪提醒'],
    },
    {
      id: Random.guid(),
      title: '印刷资料管理',
      data: ['自用资料申请流程'],
    },
    {
      id: Random.guid(),
      title: '总结和计划',
      data: ['半年度/年度工作总结和计划'],
    },
    {
      id: Random.guid(),
      title: '人事管理',
      data: [
        '出差/外出流程',
        '请假流程',
        '人才推荐流程',
        '新教职工入职流程',
        '转正申请流程',
        '教职工辞职申请流程',
      ],
    },
  ],
  'GET /api/procedure/todo': todoList,
  'GET /api/procedure/completed': completedList,
  'GET /api/procedure/proxy': proxyList,
};
